package login;

import Menu.adminMenu;
import Menu.customerMenu;
import Menu.sellerMenu;

import java.io.IOException;
import java.util.Objects;
import java.util.Scanner;

@SuppressWarnings("AlibabaClassMustHaveAuthor")

public class UserT01 {
    public static void main(String[] args){
        {

            //一直循环直到用户退出
            while(true)
            {
                Scanner sc=new Scanner(System.in);

                User user= new User();
                Userlogin login=new Userlogin();



                System.out.println("     欢迎使用广工七八饭外卖平台系统 ！！！");
                System.out.println("=========================================");
                System.out.println("1. 登录      " +"2. 注册      "+"3. 退出   ");

                int order = sc.nextInt();
                if(order==1)
                {
                    System.out.println("输入您的用户名/邮箱：");
                    String username=sc.next();
                    System.out.println("输入您的用户密码：");
                    String password=sc.next();
                    System.out.println("输入您的用户类别：");
                    System.out.println("1.管理员登录  2.用户登录  3.商家登录  4.骑手登录");
                    int choice=sc.nextInt();
                    switch(choice) {
                        case 1:
                            user.ID = "管理员";
                            break;
                        case 2:
                            user.ID = "用户";
                            break;
                        case 3:
                            user.ID = "商家";
                            break;
                        default:
                            break;
                    }
                    boolean f=login.isLogin(username,password,user.ID);
                    user=login.cast();
                    if(f){
                        System.out.println("登陆成功！~");
                        switch(choice) {
                            case 1:{
                                adminMenu menu=new adminMenu();
                                System.out.println("----欢迎您，尊贵的管理员！----");
                                //想要吧id传给操作页面
                                menu.setUid(user.uID);
                                menu.showAdminMenu();
                                break;
                            }

                            case 2: {
                                customerMenu menu=new customerMenu();
                                System.out.println("----欢迎你，小饱饱！----");
                                menu.setUid(user.uID);
                                menu.setUser(user);//向下转型
                                menu.showCMenu();
                                break;
                            }
                            case 3:{
                                sellerMenu menu=new sellerMenu();
                                System.out.println("----欢迎你，诚信商家！----");
                                menu.setUid(user.uID);
                                menu.setUserser(user);
                                menu.showSMenu();
                                break;
                            }

                                default:{
                                System.out.println("error输入错误！");
                                break;
                            }

                        }
                    }
                    else{
                        System.out.println("用户名或密码错误，登陆失败");
                    }

                }
                else if(order==2)
                {
                    System.out.println("请输入您想要的ID号：");
                    String uID = sc.next();
                    while(true) {

                        boolean pd=true;
                        for (int i = 0; i < login.getarr().size(); i++) {
                            if (Objects.equals(login.getarr().get(i).getuID() ,uID)) {
                                pd = false;
                                System.out.println("已经有用户使用此id请重新输入！");
                            }
                        }
                        if(pd){
                            user.setuID(uID);//设置uID
                            break;
                        }
                        else{
                            uID = sc.next();
                        }
                    }
                    System.out.println("请输入您的用户名/邮箱：");
                    String username=sc.next();
                    user.setUsername(username);

                    System.out.println("请输入您的用户密码：");
                    String password=sc.next();
                    user.setPassword(password);

                    System.out.println("请输入您的用户类别：");
                    System.out.println("1.管理员注册  2.用户注册  3.商家注册 ");

                    int choice1=sc.nextInt();
                    switch(choice1) {
                        case 1:
                            user.setID("管理员");
                            break;
                        case 2:
                            user.setID("用户");
                            break;
                        case 3:
                            user.setID("商家");
                            break;
                        case 4:
                            user.setID("骑手");
                            break;
                        default:break;
                    }
                    login.regist(user);
                    System.out.println("注册成功！");

                }
                else{
                    System.out.println("============退出系统，欢迎下次使用===========");
                    break;
                }

            }

        }
    }
}
